{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf480
{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww14340\viewh9820\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural

\f0\fs24 \cf0 Introduction\
Write your own math in new glyphs (WYOMING) is the goal and name of our group effort to convert digitally handwritten mathematical expressions to their corresponding LaTex code. The demand for this system stems from the shared feeling that a line-by-line ASCII text program is an unnatural representation of such expressions, but that such editing is currently necessary for a well-structured digital format of the desired expression. At the nub of our effort to overcome the awkwardness in writing mathematical expressions with this constraint are the three tasks of (i) providing a digital interface for handwriting these expressions, (ii) recognizing the symbols from a mathematic alphabet that best match the series of digitally handwritten strokes, and (iii) determining the expression from a well-defined grammar that best fits the spatial distribution of symbols into a mathematical context.\
\
The many degrees of freedom that are inherent to this problem are evident in the previous attempts by others to perform character and contextual recognition of digitally written mathematics. On one hand, an off-line approach receives images of typeset math equations that may be surrounded by regular paragraphical text. With this input system, one must one recognize when a mathematical expression occurs within a broader text, decompose overlapping characters, and ignore any impurities (i.e. scratches and dots) of the image that contribute no meaning to the expression. On the other hand, an on-line approach inputs a series of handwritten strokes penned by a user. At the cost of variation in the structure of inputs with identical semantics, the latter system yields temporal information that may be used to distinguish strokes and characters. \
\
The two recognition algorithms can either be top-down (symbol recognition precedes spatial recognition), bottom-up (symbol recognition follows spatial recognition), or some combination of these two approaches....\
\
Charts A and B of the Appendix summarize the various methods that have been applied by others for receiving and parsing mathematical expressions.\
\
WYOMING is an on-line, top-down parser, that decides all character recognition before the start of contextual parsing. This is a work in progress that currently provides the following features:\
	(i) GUI - functional as tester...\
	(ii) Eric - symbols in current alphabet. recognition performance...\
	(iii) John - grammar and scoring defined. performance on simple examples...\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 We use the Python programming language to implement each mentioned features.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 \
The Graphical User Interface (GUI) of WYOMING\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 The features of WYOMING's user interface extend the Python module PyGame, which captures desktop events and controls a window display. For a visual of working GUI's layout, please refer to Figure 1. Note the GUI currently functions as a testing environment. Using the features we lay out in this section, we are capable of producing examples of handwritten expressions on which we may independently train our character and contextual recognition algorithms.\
\
To provide a user with a virtual pen, WYOMING extends either the clicks and movement of a mouse or contact of a stylus on a tablet personal computer. A stroke is initiated upon such contact or click within the writing space bounded by the displayed black dashed lines. The stroke then consists of the ordered sequence of positions on each desktop frame that the user drags the cursor over before either picking up the stylus or releasing the click on the mouse. At each of these positions a small circle is displayed. If the stroke strays from writing space, all circles from this stroke are erased. Otherwise the stroke is left on display, and the ordered list of points by which the stroke is defined is appended onto a list of strokes. \
\
When a stroke is completed, rather than initiating another stroke, the user may click on other active regions of the interface. In the event that the red eraser is clicked, the last visible stroke that was scribed is erased and popped from the stroke list. The user may also click on the displayed red equals symbol, which clears the writing space and initiates the recognition algorithms. After future development of the recognition algorithms, the GUI will fill the gray box with the returned portable network graphics (png) image of the rendered LaTex code produced by these algorithms.\
}